package org.zwy.gradetrack.service;

import com.baomidou.mybatisplus.extension.service.IService;
import org.zwy.gradetrack.entity.CourseScore;
import org.zwy.gradetrack.vo.CourseScoreVo;

import java.util.List;

/**
 * 课程得分Service接口
 */
public interface CourseScoreService extends IService<CourseScore> {
    
    /**
     * 获取课程得分列表 (教师可查看所有，学生仅查看自己的)
     *
     * @param graduateId 毕业生ID (可选，教师查看所有时为null)
     * @param courseCode 课程代码 (可选)
     * @param courseName 课程名称 (可选)
     * @param courseType 课程类型 (可选)
     * @return 课程得分VO列表
     */
    List<CourseScoreVo> getStudentCourseScores(Long graduateId, String courseCode, String courseName, String courseType);
    
    /**
     * 添加或更新课程得分
     *
     * @param courseScore 课程得分信息
     * @return 更新后的课程得分信息
     */
    CourseScore saveOrUpdateScore(CourseScore courseScore);
} 